import axios from 'axios'
import {getToken} from './localData'
import { Dialog } from 'vant'
import router from'../router/index'
// 设置服务器 请求基地址
axios.defaults.baseURL = 'http://127.0.0.1:3000'
// axios.defaults.baseURL='http://157.122.54.189:9083'


// 添加请求拦截器 - axios 发送请求前自动执行的一个函数而已
//  interceptors 拦截器
//  request 请求
axios.interceptors.request.use(
    // config 就是请求时的配置
    (config) => {
      // 在发送请求之前做些什么
      // 获取本地存储的 token
      const token = getToken()
      // 如果有 token 就添加到请求头中
      if (token) {
        config.headers.Authorization = token
      }
      // console.log('axios请求发送前，调用了这个函数', config)
      // 返回修改后的配置
      return config
    },
    (error) => {
      // 对请求错误做些什么，表示失败把 error 传递给 catch()
      return Promise.reject(error)
    },
)

axios.interceptors.response.use(
  
  (response) => {
    // console.log(response)
    if(response.data.message==='用户信息验证失败'){
      Dialog.confirm({
        title:'未登录',
        message:'需要登录后在操作',
        confirmButtonText:'去登录',
        cancelButtonText: '残忍拒绝',
      })
      .then(() => {
        // on confirm
        router.push({
          path:'/login',
        })
      })
      .catch(() => {
        // on cancel
      })
    }
    return response
  },
  (error) => {
    // 对请求错误做些什么，表示失败把 error 传递给 catch()
    return Promise.reject(error)
  },
)



export default axios
